package com.shasselclub.project.ask.problem.service;

import java.util.List;
import java.util.Map;

import com.shasselclub.api.v1.result.ProblemResult;
import com.shasselclub.project.ask.problem.domain.Answer;
import com.shasselclub.project.ask.problem.domain.Problem;

/**
 * 问题管理Service接口
 * 
 * @author 郑云飞
 * @date 2022-08-05
 */
public interface IProblemService 
{
    /**
     * 查询问题管理
     * 
     * @param id 问题管理主键
     * @return 问题管理
     */
    public Problem selectProblemById(String id);

    /**
     * 查询问题管理列表
     * 
     * @param problem 问题管理
     * @return 问题管理集合
     */
    public List<Problem> selectProblemList(Problem problem);
    public List<ProblemResult> selectProblemResultList(Map<String,Object> queryMap);

    /**
     * 新增问题管理
     * 
     * @param problem 问题管理
     * @return 结果
     */
    public int insertProblem(Problem problem);

    /**
     * 修改问题管理
     * 
     * @param problem 问题管理
     * @return 结果
     */
    public int updateProblem(Problem problem);

    /**
     * 批量删除问题管理
     * 
     * @param ids 需要删除的问题管理主键集合
     * @return 结果
     */
    public int deleteProblemByIds(String ids);

    /**
     * 删除问题管理信息
     * 
     * @param id 问题管理主键
     * @return 结果
     */
    public int deleteProblemById(Long id);

    int count(Map<String, Object> queryMap);

    Answer getAnswer(Map<String, Object> queryMap);

    int addScore(Map<String, Object> addScoreMap);

    int updateAnswerWrongNum(Map<String, Object> updateAnswerWrongNumMap);
    int addZhuLiScore(Map<String, Object> addScoreMap);

    int getTotalScore(Map<String, Object> probleQueryMap);
}
